# coding=utf-8

"""
本节是关于如何快速使用struct
struct 的主要功能是用于处理与C结构体的数据,与python string 之间的数据

主要用以下几个函数
calcsize()
pack()
pack_into()
unpack()
unpack_from()

c char               1
b signed char        1
B unsigned char      1
h short              2
H unsighned short    2
i int                4
I unsigned short     4
l long               4
L unsigned long      4
q long long          8
Q unsigned long long 8
f float              4
d double             8
s char[]
p char[]
P void *
"""


import struct


# 进行一个简单的 pack 和 unpack 数据
# 如何取出一个pack字节长度为3个的数据

from struct import *
# pack_data 打包数据原则 hh 代包short型打包 即 1, 2 为short数据 各两个字节 l 代表 long 4个字节
pack_data = pack('hhl', 1, 2, 3)
print pack_data
# 把打包后的数据, 共8个字切转换成 两个4个字节的数据
upack = unpack('ll', pack_data)
print upack
# 按原来打包的方式把数据返回ß
upack = unpack('hhl', pack_data)
print upack



